package cn.com.baiwei.mapper;

import cn.com.baiwei.pojo.IntegralExchange;
import cn.com.baiwei.pojo.OrderForm;
import cn.com.baiwei.pojo.Vip;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (Vip)表数据库访问层
 *
 * @author X_Q
 * @since 2021-09-14 19:09:42
 * @version 1.0
 */
public interface VipMapper {

    /**
     * 查询所有数据
     * @return  返回所有数据
     */
    List<Vip> selectAll(@Param("vipPhone") String vipPhone);

    /**
     * 根据手机号查询 积分
     * @param vipPhone
     * @return
     */
    int selectForIntegral(@Param("vipPhone") String vipPhone);

    /**
     * 通过实体作为筛选条件查询
     *
     * @param index 查询起始位置
     * @param vipPhone  查询条件
     * @return 对象列表
     */
    List<Vip> selectForPage(@Param("index") int index, @Param("vipPhone")String vipPhone);

    /**
     * 根据模糊条件查询总个数
     *
     * @return 返回查询到的总  条数
     */
    int selectForCount(@Param("vipPhone") String vipPhone);



    /**
     * 根据手机号查询
     * @param vipPhone 手机号
     * @return  对象
     */
    Vip selectByPhone (@Param("vipPhone")String vipPhone);

    /**
     * 新增数据
     *
     * @param vip 实例对象
     */
    void insert(Vip vip);

    /**
     * 修改数据
     *
     * @param vip 实例对象
     * @return 影响行数
     */
    int updateByPhone(Vip vip);

    /**
     * 积分兑换后 修改 积分 数据
     * @param integralExchange 积分兑换订单
     * @return
     */
    int updateCutByIEPhone(IntegralExchange integralExchange);

    /**
     * 积分兑换后 修改 积分 数据
     * @param orderForm 点菜订单
     * @return
     */
    int updateAddByOFPhone(OrderForm orderForm);

    /**
     * 通过主键删除数据
     *
     * @param vipPhone 手机号
     * @return 影响行数
     */
    int deleteByPhone(@Param("vipPhone") String vipPhone);

}